GoogleAnalytics EnhancedEcommerce
日本語は拡張EC
dataLayerに設定してそのまま使ってもらう。
GTMのcustom javascript機能で、ecommerceオブジェクトを返す
最初の方法でサイト側で設定してもらうのが簡便。
ただ、時々、少し値を加工して出したいときがある。
その時は、最初の設定のまま、2に切り替える(被せる)のが良い気がする。
下のようにdataLayerのecommerceを受け取って、加工して、return する。
code: modifyEC.js
function (){
var ec = {{dataLayer_in_EcommerceObject}}}; //use dataLayer variable notation.{{xxxx}}
return {'ecommerce': ec}
}
ユースケース
Ecommerce Actionを、checkout と add の両方を計測する、もしくは変更する。
状況としては、cartページで、カート数が変更された。
checkout, cart add|remove の2つのアクションを計測したいが、1つのビーコンで2つ入れるのはできない。
2つのビーコンを飛ばさないといけない。
checkoutで正常で動作する設定をしておいて、
cart add|remove は、triggerを別途作っておいて、同じタグを発火させる。
内容を、custom javascriptで編集する。triggerになったイベント名が取れるので、それで処理を分岐する。
商品リスト名を、動的に設定したい時など。
こちらもdataLayerに必要なecommerceオブジェクトを設定しておいてもらって
custom javascriptで、検索クエリ, 表示点数をbin化してものなど、をurlなどで取得して商品リスト名に入れる。
注意
javascriptの delete 演算子?などで加工して返すと、上手く動かない???
別途 objectを作り直して、returnするのが(とりあえず)吉?
code: ga_eec.sql
SELECT
(select sign(count(*)) from unnest(tbl.hits) as h where h.eCommerceAction.action_type='1') as pClicks
,(select sign(count(*)) from unnest(tbl.hits) as h where h.eCommerceAction.action_type='2') as pdps
,(select sign(count(*)) from unnest(tbl.hits) as h where h.eCommerceAction.action_type='3') as carts
,(select sign(count(*)) from unnest(tbl.hits) as h where h.eCommerceAction.action_type='6') as purchases
FROM xxxxxx.ga_sessions_20200905 as tbl